#include<bits/stdc++.h>
using namespace std;
int main() {
  vector<int> v{2,3,5,7,8,8,8,9};
  for(auto el:v)cout<<el<<' ';
  cout<<"\n";
  cout << *lower_bound(v.begin(),v.end(),4)<<' ';
  cout << *upper_bound(v.begin(),v.end(),4)<<' ';
  cout<<"\n";
  for(auto it=lower_bound(v.begin(), v.end(), 8),
           ed=upper_bound(v.begin(), v.end(), 8);
           it<ed; ++it) {
    cout<<*it<<' ';
  }
  cout<<"\n";
  reverse(v.begin(),v.end());
  for(auto el:v)cout<<el<<' ';
  cout<<"\n";
  cout << *lower_bound(v.begin(),v.end(),4)<<' ';
  cout << *upper_bound(v.begin(),v.end(),4)<<' ';
  return 0;
}
